package com.woniu113.junk.user.util;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.HashMap;

/**
 * 专门用于发验证码的工具类
 */
//C00677232
//9cc19795f7d91cf2739f9a9b7e45d0f5
@Component
@ConfigurationProperties(prefix = "huyi")
@Data
public class SMSUtil {
//    huyi:
//    account: C69207104
//    api: https://106.ihuyi.com/webservice/sms.php?method=Submit
//    password: bcd83b690d39bb9deec75c94c09dd108
    private String api="https://106.ihuyi.com/webservice/sms.php?method=Submit";//发送验证码的请求地址
    private String account="C69207104";//用户(互亿无线的账号)
    private String password="bcd83b690d39bb9deec75c94c09dd108";//互亿无线的密码
    public String sendCode(String mobile)throws Exception{
        //使用hutool提供的Http工具发送请求
        HashMap<String, Object> params = new HashMap<>();
        params.put("account",account);
        params.put("password",password);
        params.put("mobile",mobile);//要发送验证码的手机号
        params.put("format","json");//响应的数据格式
        String code=String.valueOf((int)(Math.random()*9000)+1000);//生成的四位数
        System.out.println(code);//输出5795
        String content="您的验证码是：" + code + "。请不要把验证码泄露给其他人。";
        params.put("content",content);
        //向第三方的接口发送请求
        HttpResponse response = HttpRequest.post(api).form(params).execute();
//        System.out.println(response.getStatus());//输出200
//        System.out.println(response.body());//输出{"code":2,"msg":"提交成功","smsid":"17240688555540754456"}
//        return code;
        String json = response.body();
        String resultCode = JSONUtil.parseObj(json).get("code").toString();
        if("2".equals(resultCode)){
            return code;
        }else{
            throw new Exception("短信发送失败");
        }
    }
}

